package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.TrainingCadetAttendance;
import com.ruoyi.system.domain.TrainingCadetAttendanceReport;

import java.util.List;

/**
 * 培训考勤Mapper接口
 *
 * @author dp
 * @date 2023-11-27
 */
public interface TrainingCadetAttendanceMapper {
    /**
     * 查询培训考勤
     *
     * @param attendanceId 培训考勤主键
     * @return 培训考勤
     */
    public TrainingCadetAttendance selectTrainingCadetAttendanceByAttendanceId(Long attendanceId);

    /**
     * 查询培训考勤列表
     *
     * @param trainingCadetAttendance 培训考勤
     * @return 培训考勤集合
     */
    public List<TrainingCadetAttendance> selectTrainingCadetAttendanceList(TrainingCadetAttendance trainingCadetAttendance);

    /**
     * 查询培训考勤报表
     *
     * @param trainingCadetAttendance 培训考勤
     * @return 培训考勤集合
     */
    public List<TrainingCadetAttendanceReport> selectTrainingCadetAttendanceReport(TrainingCadetAttendanceReport trainingCadetAttendance);

    /**
     * 查询培训考勤明细
     * @param trainingCadetAttendance
     * @return
     */
    public List<TrainingCadetAttendance> getAttendanceList(TrainingCadetAttendanceReport trainingCadetAttendance);


    /**
     * 新增培训考勤
     *
     * @param trainingCadetAttendance 培训考勤
     * @return 结果
     */
    public int insertTrainingCadetAttendance(TrainingCadetAttendance trainingCadetAttendance);

    /**
     * 修改培训考勤
     *
     * @param trainingCadetAttendance 培训考勤
     * @return 结果
     */
    public int updateTrainingCadetAttendance(TrainingCadetAttendance trainingCadetAttendance);

    /**
     * 删除培训考勤
     *
     * @param attendanceId 培训考勤主键
     * @return 结果
     */
    public int deleteTrainingCadetAttendanceByAttendanceId(Long attendanceId);

    /**
     * 批量删除培训考勤
     *
     * @param attendanceIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTrainingCadetAttendanceByAttendanceIds(Long[] attendanceIds);
}
